package com.jinmdz.fmis.dao.model.dispatchcar;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.dao.base.BaseItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 调度车辆信息
 *
 * @author GaoXiangLiang
 * @date 2020-06-12 15:15
 */
@ApiModel(value = "调度车辆信息", description = "调度车辆信息")
public class DispatchCar extends BaseItem {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", name = "id", position = 1)
    private Integer id;

    /**
     * 接运外键
     */
    @ApiModelProperty(value = "接运外键", name = "recId", position = 2)
    private Integer recId;

    /**
     * 车辆外键
     */
    @ApiModelProperty(value = "车辆外键", name = "recCarId", position = 3)
    private Integer recCarId;

    /**
     * 车辆牌号
     */
    @ApiModelProperty(value = "车辆牌号", name = "recCarNo", position = 4)
    private String recCarNo;

    /**
     * 调度人姓名
     */
    @ApiModelProperty(value = "调度人姓名", name = "dispatchUserName", position = 5)
    private String dispatchUserName;

    /**
     * 调度人外键
     */
    @ApiModelProperty(value = "调度人外键", name = "dispatchUserId", position = 6)
    private Integer dispatchUserId;

    /**
     * 出车时间
     */
    @AnValidate(name = "出车时间")
    @ApiModelProperty(value = "出车时间", name = "dispatchOutTime", example = "2020-02-29 19:30", position = 7)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date dispatchOutTime;
    ;

    /**
     * 回车时间
     */
    @AnValidate(name = "回车时间")
    @ApiModelProperty(value = "回车时间", name = "dispatchBackTime", example = "2020-02-29 19:30", position = 8)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date dispatchBackTime;

    /**
     * 接运里程
     */
    @ApiModelProperty(value = "接运里程", name = "odometer", position = 9)
    @JsonFormat(shape = JsonFormat.Shape.STRING)

    private BigDecimal odometer;
    /**
     * 版本
     */
    @ApiModelProperty(value = "版本", name = "version", position = 10)
    private Long version;
    /**
     * 调度时间
     */
    @AnValidate(name = "调度时间")
    @ApiModelProperty(value = "调度时间", name = "gmtModified", example = "2020-02-29 19:30", position = 8)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date dispatchTime;

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public DispatchCar setId(Integer id) {
        this.id = id;
        return this;
    }

    public Integer getRecId() {
        return recId;
    }

    public DispatchCar setRecId(Integer recId) {
        this.recId = recId;
        return this;
    }

    public Integer getRecCarId() {
        return recCarId;
    }

    public DispatchCar setRecCarId(Integer recCarId) {
        this.recCarId = recCarId;
        return this;
    }

    public String getRecCarNo() {
        return recCarNo;
    }

    public DispatchCar setRecCarNo(String recCarNo) {
        this.recCarNo = recCarNo;
        return this;
    }

    public String getDispatchUserName() {
        return dispatchUserName;
    }

    public DispatchCar setDispatchUserName(String dispatchUserName) {
        this.dispatchUserName = dispatchUserName;
        return this;
    }

    public Integer getDispatchUserId() {
        return dispatchUserId;
    }

    public DispatchCar setDispatchUserId(Integer dispatchUserId) {
        this.dispatchUserId = dispatchUserId;
        return this;
    }

    public Date getDispatchOutTime() {
        return dispatchOutTime;
    }

    public DispatchCar setDispatchOutTime(Date dispatchOutTime) {
        this.dispatchOutTime = dispatchOutTime;
        return this;
    }

    public Date getDispatchBackTime() {
        return dispatchBackTime;
    }

    public DispatchCar setDispatchBackTime(Date dispatchBackTime) {
        this.dispatchBackTime = dispatchBackTime;
        return this;
    }

    public BigDecimal getOdometer() {
        return odometer;
    }

    public DispatchCar setOdometer(BigDecimal odometer) {
        this.odometer = odometer;
        return this;
    }

    @Override
    public Long getVersion() {
        return version;
    }

    @Override
    public DispatchCar setVersion(Long version) {
        this.version = version;
        return this;
    }

    public Date getDispatchTime() {
        return dispatchTime;
    }

    public DispatchCar setDispatchTime(Date dispatchTime) {
        this.dispatchTime = dispatchTime;
        return this;
    }
}
